package leecode.array.数组其他问题;

/**
 * @author wangxi created on 2021/6/13 22:44
 * @version v1.0
 *
 * https://leetcode-cn.com/problems/single-number/
 *
 * 给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。
 */
public class SingleNumber {

    public int singleNumber(int[] nums) {
        if (nums == null || nums.length <= 0) {
            return -1;
        }

        // 初始值为0.0与任何元素异或都不会改变该元素本身的值
        int result = 0;
        for (int i = 0; i < nums.length; i++) {
            result = result ^ nums[i];
        }
        return result;
    }
}
